From 3d9330324c6a0f3c2e5eaf6fd6d171a21b61db83 Mon Sep 17 00:00:00 2001 From: Ewan Mellor Date: Tue, 20 Mar 2007 17:30:52 +0000 Subject: [PATCH] Make xm trigger talk XenAPI; add send_trigger to VM class. Signed-off-by: Tom Wilkie --- tools/python/xen/xend/XendAPI.py | 10 +++++++++- tools/python/xen/xm/main.py | 7 +++++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/tools/python/xen/xend/XendAPI.py b/tools/python/xen/xend/XendAPI.py index 70075c560b..a0f7c351b4 100644 --- a/tools/python/xen/xend/XendAPI.py +++ b/tools/python/xen/xend/XendAPI.py @@ -1087,7 +1087,8 @@ class XendAPI(object): ('add_to_platform', None), ('remove_from_platform', None), ('add_to_other_config', None), - ('remove_from_other_config', None)] + ('remove_from_other_config', None), + ('send_trigger', None)] VM_funcs = [('create', 'VM'), ('get_by_name_label', 'Set(VM)')] @@ -1534,6 +1535,13 @@ class XendAPI(object): return xen_api_success_void() + def VM_send_trigger(self, _, vm_ref, trigger, vcpu): + xendom = XendDomain.instance() + xeninfo = xendom.get_vm_by_uuid(vm_ref) + xendom.domain_send_trigger(xeninfo.getDomid(), trigger, vcpu) + return xen_api_success_void() + + # Xen API: Class VM_metrics # ---------------------------------------------------------------- diff --git a/tools/python/xen/xm/main.py b/tools/python/xen/xm/main.py index 0ae9f97378..5f8449d376 100644 --- a/tools/python/xen/xm/main.py +++ b/tools/python/xen/xm/main.py @@ -1544,8 +1544,11 @@ def xm_trigger(args): trigger = args[1] if len(args) == 3: vcpu = int(args[2]) - - server.xend.domain.send_trigger(dom, trigger, vcpu) + + if serverType == SERVER_XEN_API: + server.xenapi.VM.send_trigger(get_single_vm(dom), trigger, vcpu) + else: + server.xend.domain.send_trigger(dom, trigger, vcpu) def xm_debug_keys(args): arg_check(args, "debug-keys", 1) -- 2.30.2